// utils.js - 公共工具函数

// 格式化日期
function formatDate(dateString) {
    const date = new Date(dateString);
    return date.toLocaleString('zh-CN', {
        year: 'numeric',
        month: '2-digit',
        day: '2-digit',
        hour: '2-digit',
        minute: '2-digit'
    });
}

// 格式化时间（仅显示时分）
function formatTime(dateString) {
    const date = new Date(dateString);
    return date.toLocaleString('zh-CN', {
        hour: '2-digit',
        minute: '2-digit'
    });
}

// 安全地设置元素内容
function safeSetInnerHTML(element, content) {
    if (element) {
        element.innerHTML = content;
        return true;
    }
    return false;
}

// 转义HTML内容
function escapeHTML(str) {
    if (!str) return '';
    const div = document.createElement('div');
    div.textContent = str;
    return div.innerHTML;
}

// 格式化文件大小
function formatFileSize(bytes) {
    if (bytes === 0) return '0 B';

    const k = 1024;
    const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
    const i = Math.floor(Math.log(bytes) / Math.log(k));

    return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
}

// 调试日志函数
function createDebugLogger(moduleName, enabled = true) {
    return function debug(message, data) {
        if (enabled) {
            if (data) {
                console.log(`[${moduleName}] ${message}`, data);
            } else {
                console.log(`[${moduleName}] ${message}`);
            }
        }
    };
}

// 检查是否为移动设备
function isMobileDevice() {
    return window.innerWidth <= 768;
}

// 导出到全局对象
window.Utils = {
    formatDate,
    formatTime,
    safeSetInnerHTML,
    escapeHTML,
    formatFileSize,
    createDebugLogger,
    isMobileDevice
};
